package org.dictionary;


import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author: zhongShanfeng
 * @date: 2023年12月28日 上午 11:05
 * @Description: 解析txt文件获取里面的数据
 * 将txt文件里面的内容，解析成对象，添加到表里去
 */
public class DealDictionary1 {
    public static void main(String[] args) {

        new DealDictionary1().parseTxt();

    }

    private void parseTxt() {
        BufferedReader reader = null;
        try {
            InputStreamReader read = new InputStreamReader(new FileInputStream("E:\\DataDictionary\\EasDataDictionary.txt"), "UTF-8");
            reader = new BufferedReader(read);
            String line = null;
            List<DealDictionaryEntity> dealDictionarys = new ArrayList<>();
            String tableEnName = "";
            String tableChName = "";
            for (int i = 0; i < 7600; i++) {
                line = reader.readLine();
                System.out.println(line);
                System.out.println(line.length());
                int length = line.split("\t").length;

//                System.out.println(line);
                DealDictionaryEntity dealDictionaryEntity = new DealDictionaryEntity();

                if (line.contains("（") && line.contains("）")&&length<3) {
                    tableEnName = line.substring(0, line.indexOf("（"));
                    tableChName = line.substring(line.indexOf("（"));
                    continue;
                }
                String[] split = line.split("\t");
                dealDictionaryEntity.setTableName(tableEnName);
                dealDictionaryEntity.setTableChName(tableChName.substring(tableChName.indexOf("（")+1,tableChName.indexOf("）")));

                if (split.length ==6){
                    dealDictionaryEntity.setFieldName(split[0]);
                    dealDictionaryEntity.setFieldSecondaryName(split[1]);
                    dealDictionaryEntity.setDataType(split[2]);
                    dealDictionaryEntity.setDataLength(split[3]);
                    dealDictionaryEntity.setDataAccuracy(split[4]);
                    dealDictionaryEntity.setDataDecimalCount(split[5]);
                }

//                dealDictionaryEntity.setDataTips(split[6]);
                dealDictionarys.add(dealDictionaryEntity);

            }
            dealDictionarys.forEach(System.out::println);


/*            while((line =reader.readLine()) != null){

                System.out.println(line);
            }
            */
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }


}


//    public static void parseTxt(Scanner scanner) {
//        File file = new File("E:\\DataDictionary\\EasDataDictionary.txt");
//        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        if (!file.exists()) {
//            System.out.println("节点基本信息文件未找到");
//        } else {
//            System.out.println("节点基本信息文件已找到");
//        }
//
//        Scanner s = null;
//        try {
//            s = new Scanner(file);
//
//            for (int i = 0; i < 10 ; i++) {
//                String wordEach = s.next();
//                System.out.println(wordEach);
//            }
//            s.close();
//        } catch (FileNotFoundException e) {
//            e.printStackTrace();
//        }
//
//
//
//
//
//
//
//           /* while (true) {
//                //文档中的内容
//                String danci = s.next();
//                if ("Parameters:".equals(danci)) {
//                    //开始留存需要的数据.
//                    String jixu = "";
//                    int count = 0;
//
//                    while (true) {
//                        EquipmentRZ equipmentRZ = new EquipmentRZ();
//                        String danci2 = s.next();
//                        jixu += danci2;
//                        if (danci2.indexOf("Timestamp") != -1) {
//                            String sheng = s.next();
//                            String shi = s.next();
//                            String qu = s.next();
//                            String renzheng = s.next();
//                            String tupian = s.next();
//                            String jieshuriqi = s.next();
//                            jixu += sheng + shi + qu + renzheng + tupian + jieshuriqi;
//                            //System.out.println("jixu========"+jixu);
//                            //按照逗号分割
//                            String[] split = jixu.split("~,");
//                            //获取到的数据
//                            try {
//                                equipmentRZ.setId(Integer.parseInt(split[0]));
//                                equipmentRZ.setName(split[1]);
//                                equipmentRZ.setXinghao(split[2]);
//                                equipmentRZ.setJianjie(split[3]);
//                                equipmentRZ.setZhuangtai(split[4]);
//                                equipmentRZ.setGongsi1(split[5]);
//                                equipmentRZ.setGongsi2(split[6]);
//                                equipmentRZ.setRealName(split[7]);
//                                equipmentRZ.setLeixing(split[8]);
//                                equipmentRZ.setGongsi3(split[9]);
//                                //2016-11-3011:35:08.0(Timestamp),天津市
//                                String shijian = split[10];
//                                //按照逗号分割
//                                String[] split1 = shijian.split(",");
//                                //截取最后的(Timestamp)
//                                int index = split1[0].lastIndexOf("(");
//                                String kaishishijian = split1[0].substring(0, index);
//                                //第9位后面加上空格
//                                StringBuffer sb = new StringBuffer(kaishishijian);
//                                sb.insert(10, " ");
//                                equipmentRZ.setBeginDate(simpleDateFormat.parse(sb.toString()));
//                                equipmentRZ.setSheng(split1[1]);
//                                equipmentRZ.setShi(split[11]);
//                                equipmentRZ.setJiedao(split[12]);
//                                equipmentRZ.setRenzheng(split[13]);
//                                equipmentRZ.setTupian(split[14]);
//                                String jieshu = split[15] + " 00:00:00";
//                                equipmentRZ.setEndDate(simpleDateFormat.parse(jieshu));
//                                //System.out.println(equipmentRZ);
//                            } catch (ParseException e) {
//                                e.printStackTrace();
//                            }
//
//                            //调佣添加的方法 将数据添加到数据库
//                            //已经执行完毕 2022年4月19日11:08:54
//	                       *//* ZhiXingMysql zhiXingMysql = new ZhiXingMysql();
//	                        zhiXingMysql.saveEquipmentRZ(equipmentRZ);*//*
//                            break;
//                        }
//                    }
//                }
//            }
//
//        */
//
//
//    }
//
//}
//
